Multi-laser eye tracking system

ABSTRACT

Techniques are described herein that are capable of tracking an eye of a user using multiple lasers. Light from the lasers is scanned across respective partially overlapping portions of a region that includes an eye of a user during respective time periods. Portion(s) of the light that are reflected from the eye are detected by respective photodetector(s). In an example implementation, a signal corresponding to the detected portion(s) is provided in a pixel of a frame buffer based at least in part on a current angle of a mirror used to scan the light across the region. In a second implementation, digital state(s) are provided based at least in part on difference(s) between a reference signal and signal(s) corresponding to the detected portion(s), and a time value indicating a time at which a glint is detected by a photodetector is provided when a digital state triggers an interrupt handler.

BACKGROUND

An eye tracking system is a system that is configured to track an eyewith respect to a frame of reference. Tracking the eye typicallyincludes determining location and/or movement (e.g., rotation) of theeye with respect to the frame of reference. For instance, the frame ofreference may be a head in which the eye is located. Angles associatedwith the eye that are measured with reference to the head are referredto as “eye-in-head angles.” Information regarding a direction in whichthe head is facing in a coordinate system (e.g., a three-dimensionalcoordinate system) may be combined with the eye-in-head angles todetermine a direction of gaze of a user (i.e., the direction in whichthe user looks) in the coordinate system and/or a point of gaze of theuser (i.e., a location at which the user looks) in the coordinatesystem.

SUMMARY

Various approaches are described herein for, among other things,tracking an eye of a user using multiple lasers. For instance, trackingthe eye of the user may include determining location and/or movement ofthe eye. A laser is a device that emits light via optical amplificationbased on stimulated emission of radiation (e.g., electromagneticradiation). The laser may be formed in a semiconductor chip. Forinstance, the laser may be formed as a waveguide on a semiconductorsubstrate of the semiconductor chip. A multi-laser eye tracking systemmay include one or more semiconductor chips, and each semiconductor chipmay include one or more lasers. Each of the lasers in a multi-laser eyetracking system is capable of being controlled separately from the otherlasers. For example, the lasers may be sequentially illuminated (a.k.a.activated). In accordance with this example, as illumination from anactivated laser is swept out of a region of interest, the activatedlaser may be shut off and another laser, which is still in the region ofinterest, may be activated. Activating the lasers in this manner mayincrease “dwell” time in the region of interest for image capture andtracking while simultaneously decreasing the latency or effective framerate in the region of interest.

In an example approach, light from multiple laser light sources isscanned across a region that includes an eye of a user. The laser lightsources include at least a first laser light source and a second laserlight source. First light from the first laser light source is scannedacross a first portion of the region during a first period of time.Second light from the second laser light source is scanned across asecond portion of the region during a second period of time that isdifferent from the first period of time. The second portion of theregion at least partially overlaps the first portion of the region.Portion(s) of the light that are reflected from an iris of the eye aredetected by one or more respective photodetectors. Analog signal(s) aregenerated by the respective photodetector(s) based at least in part onthe respective detected portion(s) of the light. A sum of the analogsignal(s) that are generated by the respective photodetector(s) isconverted to a digital signal. A current mirror scan angle of a scanningmirror that is used to scan the light from the laser light sourcesacross the region is calculated. The digital signal is provided in apixel of a frame buffer based at least in part on the current mirrorscan angle.

In another example approach, light from multiple laser light sources isscanned across a region that includes a cornea of a user. The laserlight sources include at least a first laser light source and a secondlaser light source. First light from the first laser light source isscanned across a first portion of the region during a first period oftime. Second light from the second laser light source is scanned acrossa second portion of the region during a second period of time that isdifferent from the first period of time. The second portion of theregion at least partially overlaps the first portion of the region.Portion(s) of the light that are reflected from the cornea of the userat respective corresponding angle(s) are detected by respectivephotodetector(s). Current(s) are generated by the respectivephotodetector(s) based at least in part on the respective detectedportion(s) of the light. The current(s) that are generated by therespective photodetector(s) are converted to respective voltage(s). Thevoltage(s) are compared to a reference voltage. Digital state(s) areprovided based at least in part on respective difference(s) between thereference voltage and the respective voltage(s). A time value isprovided when a digital state, which is included among the digitalstate(s), triggers an interrupt handler. The time value indicates a timeat which a glint is detected by a photodetector.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Moreover, itis noted that the invention is not limited to the specific embodimentsdescribed in the Detailed Description and/or other sections of thisdocument. Such embodiments are presented herein for illustrativepurposes only. Additional embodiments will be apparent to personsskilled in the relevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate embodiments of the present inventionand, together with the description, further serve to explain theprinciples involved and to enable a person skilled in the relevantart(s) to make and use the disclosed technologies.

FIG. 1 shows an example scenario for use of eye tracking on a near-eyedisplay device.

FIG. 2 is a schematic diagram of an example eye tracking system inaccordance with an embodiment.

FIG. 3 illustrates a single-laser scan in a region that includes an eyeof a user.

FIG. 4 illustrates a multi-laser scan in a region that includes an eyeof a user in accordance with an embodiment.

FIG. 5 illustrates an optical assembly configured to focus light frommultiple laser light sources in a region in accordance with anembodiment.

FIG. 6 shows example plots of light intensity and velocity with respectto distance in accordance with an embodiment.

FIG. 7 is a block diagram of an example multi-laser scanning assembly inaccordance with an embodiment.

FIG. 8 is a block diagram of example processing pipelines in an eyetracking system.

FIG. 9 is a block diagram of example processing pipelines in another eyetracking system.

FIGS. 10-11 depict flowcharts of example methods for tracking an eyeusing multiple lasers in accordance with embodiments.

FIGS. 12A and 12B depict respective portions a flowchart of anotherexample method for tracking an eye using multiple lasers in accordancewith an embodiment.

FIG. 13 depicts an example computer in which embodiments may beimplemented.

The features and advantages of the disclosed technologies will becomemore apparent from the detailed description set forth below when takenin conjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION I. Introduction

The following detailed description refers to the accompanying drawingsthat illustrate exemplary embodiments of the present invention. However,the scope of the present invention is not limited to these embodiments,but is instead defined by the appended claims. Thus, embodiments beyondthose shown in the accompanying drawings, such as modified versions ofthe illustrated embodiments, may nevertheless be encompassed by thepresent invention.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” or the like, indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may not necessarily include theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same embodiment. Furthermore, whena particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the relevant art(s) to implement suchfeature, structure, or characteristic in connection with otherembodiments whether or not explicitly described.

II. Example Embodiments

Example embodiments described herein are capable of tracking an eye of auser using multiple lasers. For instance, tracking the eye of the usermay include determining location and/or movement of the eye. A laser isa device that emits light via optical amplification based on stimulatedemission of radiation (e.g., electromagnetic radiation). The laser maybe formed in a semiconductor chip. For instance, the laser may be formedas a waveguide on a semiconductor substrate of the semiconductor chip. Amulti-laser eye tracking system may include one or more semiconductorchips, and each semiconductor chip may include one or more lasers. Eachof the lasers in a multi-laser eye tracking system is capable of beingcontrolled separately from the other lasers. For example, the lasers maybe sequentially illuminated (a.k.a. activated). In accordance with thisexample, as illumination from an activated laser is swept out of aregion of interest, the activated laser may be shut off and anotherlaser, which is still in the region of interest, may be activated.

Example techniques described herein have a variety of benefits ascompared to conventional techniques for tracking an eye of a user. Forinstance, the example techniques may be capable of increasing “dwell”time in a region of interest for image capture and tracking; decreasingthe latency or effective frame rate in the region of interest;increasing an amount of information regarding the region of interestthat is captured in each frame; and/or reducing an amount of time thatis consumed to capture such information. The example techniques mayincrease efficiency of an eye tracking system. For instance, the exampletechniques may reduce a number of scans per frame that are not directedto the region of interest and increase a number of scans per frame thatare directed to the region of interest. By utilizing multiple lasers toperform a scan during each frame, the example embodiments may increaseefficiency of an eye tracking system. The example multi-laser eyetracking systems described herein may track an eye of a user moreaccurately than a conventional eye tracking system. Tracking the eyemore accurately may increase user interaction performance (e.g., lead toan improved user experience). For instance, greater accuracy of the eyetracking may result in greater accuracy in other aspects of the userexperience that are dependent on the eye tracking. The exampletechniques may provide a multi-laser eye tracking system that has arelatively small form factor, which may reduce cost of the eye trackingsystem and increase headroom in the eye tracking system. The exampletechniques may be more integrated and/or less obtrusive thanconventional techniques. The example techniques may be capable ofproviding any the above-mentioned benefits simultaneously.

The example techniques described herein are applicable to any of avariety of applications and systems, including but not limited toaugmented reality (AR) systems, virtual reality (VR) systems, foveatedimaging systems, security systems, and medical diagnostic systems. Forinstance, a security system may utilize one or more of the techniquesdescribed herein to authenticate a user by analyzing the light thatreflects from the iris of the user. A medical diagnostic system mayutilize one or more of the techniques described herein to analyzebiometrics of the user (e.g., images of the user's iris) for purposes ofdetecting a disease.

FIG. 1 shows an example scenario 100 for use of eye tracking on anear-eye display device 102. As shown in FIG. 1, the near-eye displaydevice 102 is worn by a user. In one example, the near-eye displaydevice 102 may be implemented as an augmented reality display devicethat utilizes a see-through display to superimpose virtual imagery overa real-world background being viewed, or may capture video of thereal-world background and composite the video with virtual imagery fordisplay. Leveraging existing image display system components for eyetracking may allow light from the eye tracking illumination sources tobe presented to an eye of the user on a same or similar axis as that ofthe display imagery without impeding a view of a real world background.In another example, the near-eye display device 102 may be implementedas a virtual reality display device that displays fully virtual imagery.

As shown in FIG. 1, the user's gaze direction 104, as determined fromeye tracking, may be used to detect a user input regarding a virtualmenu 106 that is displayed by the near-eye display device 102 to appearat a distance in front of the user. Eye tracking may also be used forother human-computer interactions, such as visual attention analysis andfoveated display.

The near-eye display device 102 may utilize laser light sources, one ormore microelectromechanical systems (MEMS) mirrors, and potentiallyother optics (e.g. a waveguide) to produce and deliver an image to auser's eye. The near-eye display device 102 may leverage such existingdisplay system components, which may help to reduce a number ofcomponents used in manufacturing the near-eye display device 102. Forexample, by adding an appropriately configured infrared laser for eyeillumination, an existing MEMS mirror system used for scanning imageproduction also may be used to scan the light from the eye trackingillumination sources across the user's eye.

The scanning system of the near-eye display device 102 may take anysuitable form. For example, the scanning system may include one or moremirrors that are controlled to direct light from light sources (e.g.,laser beams) toward a region that includes the eye. The mirror(s) maymove over the course of a frame to control the location in the regiontoward which the light is directed. For example, the scanning system mayinclude a fast scan MEMS mirror and a slow scan MEMS mirror. The fastscan MEMS mirror may oscillate about a first axis under resonance. Theslow scan MEMS mirror may oscillate about a second axis that isperpendicular to the first axis to scan linearly. In this manner, thefast scan MEMS mirror and the slow scan MEMS mirror can perform a rasterscan of the light in the region. In another example, the scanning systemmay include a single mirror to scan the light in the region.

In some examples, the light may be delivered from the scanning system tothe user's eye by a waveguide, as mentioned above. In other examples,another component, such as a see-through mirror positioned in front ofthe eye, may be used to direct light to the eye. In either instance,light may be directed to the eye without having to place a scanningsystem directly in front of the eye. The scanning system may beconfigured to over-scan the corneal region of the eye to accommodate forvarying interpupillary distances, eyeball rotations, and eye reliefsacross users.

Photodetectors such as photodiodes may be provided at suitable locationsto capture specular reflections from the user's cornea for glinttracking and to capture diffusely scattered light for greyscale imaging.By analyzing attribute(s) of the reflected light (e.g., the specularreflections and/or the greyscale images), the location and/or directionof the eye may be determined.

FIG. 2 is a schematic diagram of an example eye tracking system 200 inaccordance with an embodiment. For instance, the eye tracking system 200may be incorporated into a near-eye display system, such as the near-eyedisplay device 102 shown in FIG. 1, for tracking an eye 202 of a user.The eye tracking system 200 includes light sources 204 a and 204 b,which may take the form of lasers, light-emitting diodes, or othersuitable emitters. The light sources 204 a and 204 b may be infraredlight source, ultraviolet light sources, or other suitable type of lightsources. Two light sources 204 a and 204 b are shown in FIG. 2 forillustrative purposes and are not intended to be limiting. It will berecognized that the eye tracking system 200 may include any suitablenumber of light sources (e.g., 2, 3, 4, 5, and so on), so long as theeye tracking system 200 includes more than one light source.

The light sources 204 a and 204 b are sequentially illuminated (a.k.a.activated), such that the light emitted by the light sources 204 a and204 b is sequentially received at a scanning MEMS mirror system 206. Thescanning MEMS mirror system 206 scans the light from the light sources204 a and 204 b across respective portions of a region that includes theeye 202. For instance, in response to the scanning MEMS mirror system206 scanning the light emitted by the light source 204 a across a firstportion of the region, which includes an entirety of a region ofinterest that includes the eye or a portion thereof (e.g., the pupil orthe cornea), the eye tracking system 200 may de-activate (a.k.a.discontinue illumination, turn off) the light source 204 a and activate(e.g., initiate activation of) the light source 204 b. The scanning MEMSmirror system 206 then scans the light emitted by the light source 204 bacross a second portion of the region, which includes the entirety ofthe region of interest. In response to the scanning MEMS mirror system206 scanning the light emitted by the light source 204 b across thesecond portion of the region, which includes the entirety of the regionof interest, the eye tracking system 200 may de-activate the lightsource 204 b and re-activate the light source 204 a to perform one ormore additional iterations of the scanning operations described above.Further detail regarding example techniques for using multiple lasers totrack an eye of a user is provided below with reference to FIGS. 3-11and 12A-12B.

The scanning mirror system 206 may include a single mirror that scans intwo dimensions, or may include separate mirrors that each scan in onedirection orthogonal to the direction of the other mirror. As the lightis scanned across the eye 202, the light reflects from the eye 202 indirections based upon the angle at which the light is incident on thesurface of the eye 202. The reflected light is detected viaphotodetectors 208 a and 208 b. In one example, the photodetectors 208 aand 208 b may be separately located photodiodes. In another example, thephotodetectors 208 a and 208 b may take the form of a linear array. Twophotodetectors 208 a and 208 b are shown in FIG. 2 for illustrativepurposes and are not intended to be limiting. It will be recognized thatthe eye tracking system 200 may include any suitable number ofphotodetectors (e.g., 1, 2, 3, 4, 5, and so on). In some examples, thenumber of photodetectors present may depend on the eye trackingalgorithm utilized by the eye tracking system 200.

As the light scans across the eye, each of the photodetectors 208 a and208 b receives light that is scattered by the iris of the eye 202 andlight that is specularly reflected from the cornea of the eye 202 atspecific scanning system angles based upon the locations of thephotodetectors 204 a and 204 b and the rotational position of the eye202. Lower-intensity scattered light (e.g., reflected from the iris) isused to form a greyscale image of the scanned region of the eye 202 in apupil location processing system, and higher-intensity specularreflections (e.g., reflected from the cornea) are utilized to determineglint locations in a glint location processing system. For pupillocation processing, the signals from the photodetectors 208 a and 208 bmay be sampled and computationally combined (e.g., summed) at eachangular position of the scanning mirror system 206 to form a bitmapimage for use in identifying a location of the pupil. Summing thesignals from the photodetectors 208 a and 208 b may provide a highersignal-to-noise ratio than using a single sensor for detecting scatteredlight. Specular reflections may be processed by recording a time stampand an angular position at which the higher intensity of the specularreflection is received at that photodetector, and changes in therelative locations of the glints may be used to provide informationregarding eye rotation. Eye rotation information from glint tracking maybe used to control a frame rate of the pupil location processing systemin some examples.

FIG. 3 illustrates a single-laser scan 300 in a region that includes aneye 310 of a user. As shown in FIG. 3, light that is emitted from asingle laser is scanned across the region along a path 308 from astarting point (labeled “START”) to a stopping point (labeled “STOP”)for each frame. The path 308 is shown to form a raster pattern thatincludes sixteen horizontal lines for non-limiting, illustrativepurposes. It will be recognized that the raster pattern may include anysuitable number of horizontal lines. The region includes a region ofinterest 312, which includes the eye 310. The eye 310 is shown toinclude a pupil 302, an iris 304, and a cornea 306. It will berecognized that the region of interest 312 need not necessarily includean entirety of the eye 310. Because the scanned light is from a singlelaser, the region of interest 312 is scanned once per frame. In theembodiment of FIG. 3, a substantial proportion of the path 308 does notfall within the region of interest 312. Accordingly, the dwell time inthe region of interest 312 may be relatively low, and/or the latency oreffective frame rate in the region of interest 312 may be relativelyhigh.

FIG. 4 illustrates a multi-laser scan 400 in a region that includes aneye 410 of a user in accordance with an embodiment. As shown in FIG. 4,light that is emitted from a first laser is scanned across a firstportion of the region along a first path 408 a from a first startingpoint (labeled “START1”) to a first stopping point (labeled “STOP1”) foreach frame. Light that is emitted from a second laser is scanned acrossa second portion of the region along a second path 408 b from a secondstarting point (labeled “START2”) to a second stopping point (labeled“STOP2”) for each frame. Each of the first and second paths 408 a and408 b is shown to form a respective raster pattern for non-limiting,illustrative purposes. For instance, the first path 408 a is shown toform a raster pattern that includes ten horizontal lines fornon-limiting, illustrative purposes, and the second path 408 b is shownto form a raster pattern that includes six horizontal lines fornon-limiting, illustrative purposes. It will be recognized that each ofthe raster patterns may include any suitable number of horizontal lines.The region includes a region of interest 412, which includes the eye410. The eye 410 is shown to include a pupil 402, an iris 404, and acornea 406. It will be recognized that the region of interest 412 neednot necessarily include an entirety of the eye 410.

The scan of the light from the second laser (i.e., the second scan) isinitiated after the scan of the light from the first laser (i.e., thefirst scan) is stopped. The second scan is spatially and temporallydelayed with respect to the first scan, as depicted in FIG. 4. Forinstance, it can be seen in FIG. 4 that after the first scan has passedthrough the region of interest 412 and stopped, the second scan has notyet reached the region of interest 412. Thus, performing the first scanand the second scan sequentially enables the region of interest 412 tobe scanned twice per frame. Accordingly, the dwell time in the region ofinterest 412 of FIG. 4 may be greater than (e.g., twice) the dwell timein the region of interest 312 of FIG. 3, and/or the latency or effectiveframe rate in the region of interest 412 of FIG. 4 may be less than(e.g., half) the latency or effective frame rate in the region ofinterest 312 of FIG. 3. It will be recognized that light emitted frommore than two lasers (e.g., 3, 4, 5, 6, or more lasers) may be scannedacross respective portions of the region to further increase dwell timein the region of interest and/or to further decrease latency oreffective frame rate in the region of interest. For instance, eachadditional laser may contribute toward increasing dwell time and/ordecreasing latency or effective frame rate, so long as the portion ofthe region across which light from the laser is scanned includes theregion of interest.

FIG. 5 illustrates an optical assembly 500 configured to focus light 508a and 580 b from multiple laser light sources 504 a and 504 b in aregion 510 in accordance with an embodiment. A semiconductor chip 502includes the first and second laser light sources 504 a and 504 b fornon-limiting, illustrative purposes. It will be recognized that thefirst and second laser light sources 504 a and 504 b may be included inrespective semiconductor chips. A lens 506 focuses light that is emittedby the first and second laser light sources 504 a and 504 b toward theregion 510. An extent to which a scan of the light emitted from thesecond laser light source 504 b (i.e., the second scan) in the region510 is spatially delayed with respect to a scan of the light emittedfrom the first laser light source 504 a (i.e., the first scan) in theregion 510 is based on an angle, θ, between a path 508 a of the lightemitted by the first laser light source 504 a and a path 508 b of thelight emitted by the second laser light source 504 b. The angle, θ, isbased on a spacing, d, between the first and second laser light sources504 a and 504 b. As the spacing, d, increases, the angle, θ, increases.As the spacing, d, decreases, the angle, θ, decreases. Accordingly, arelatively greater spacing, d, results in a relatively greater spatialdelay of the second scan with respect to the first scan. A relativelylesser spacing, d, results in a relatively lesser spatial delay of thesecond scan with respect to the first scan. In an example embodiment, aspacing between the first and second laser light sources 504 a and 504 bis greater than or equal to a threshold distance. For instance, thethreshold distance may be 0.08 millimeters (mm), 0.1 mm, 0.12 mm, 0.15mm, or 0.2 mm.

FIG. 6 shows example plots 600 of light intensity and velocity withrespect to distance in accordance with an embodiment. The plot ofvelocity indicates that as the light that is emitted by a laser isscanned across a region, the velocity decreases toward the outer edgesof the region. For instance, a scanning mirror that reflects the lighttoward the region stops (i.e., velocity becomes zero) at the outer edgesof the region to reverse direction. When the scanning mirror stops, theintensity of the light at that point increases, as reflected by the plotof light intensity. At each point along a path of the scan in theregion, a relatively greater velocity contributes to a relatively lesserlight intensity at that point, and a relatively lesser velocitycontributes to a relatively greater intensity at that point.Accordingly, the example multi-laser eye tracking systems describedherein may compensate for non-linearity of light intensity across theregion. For instance, the example multi-laser eye tracking systems mayincrease the intensity of the light in the scan as the velocityincreases and/or decrease the intensity of the light in the scan as thevelocity decreases.

FIG. 7 is a block diagram of an example multi-laser scanning assembly700 in accordance with an embodiment. As shown in FIG. 7, themulti-laser scanning assembly 700 includes a correction matrix 702,intensity correction logic 704, a digital-to-analog converter (DAC) 706,a switch 708, laser diodes 710 (labeled D1-DN), sequential scan controllogic 712, and scanning optics 714. The correction matrix 702 indicatesan amount of light intensity correction that is to be applied to thescan for each point in the region. For instance, the correction matrix702 may be configured to compensate for the non-linearity of lightintensity across the region that is based on the non-linear velocitycurve described above with reference to FIG. 6. It will be recognizedthat the correction matrix 702 may be configured to compensate for otherlight intensity variations associated with the scan in addition to or inlieu of those associated with the non-linear velocity curve.

The intensity correction logic 704 is configured to establish a value ofa digital drive signal corresponding to each point (e.g., display pixel)in the region based at least in part on the amount of light intensitycorrection that is indicated for that point by the correction matrix702. For instance, the intensity correction logic 704 may adjust (e.g.,increase or decrease) the value associated with each point from adefault value to an adjusted value based at least in part on the amountof light intensity correction that is indicated for that point.

The DAC 706 is configured to convert the digital drive signalcorresponding to each point in the region to a respective analog signal.The switch 708 is configured to selectively couple the DAC 706 to one ofthe laser diodes 710 at a time based on a first control signal CS1 thatis received from the sequential scan control logic 712. By selectivelycoupling the DAC 706 to one of the laser diodes 710 at a time, theswitch 708 enables the analog signal corresponding to each point in theregion to illuminate the laser diode to which the DAC 706 is coupled atthat time. For instance, the switch 708 may couple the DAC 706 to afirst diode D1 for a first subset of the points in the region based onthe first control signal CS1 controlling the switch 708 to do so. Theswitch 708 may couple the DAC 706 to a second diode D2 for a secondsubset of the points in the region based on the first control signal CS1controlling the switch 708 to do so, and so on.

The laser diodes 710 are configured to emit light in response toactivation by the switch 708. Each of the laser diodes 710 is activated(i.e., turned on) as a result of the switch 708 coupling the DAC 706 tothe respective laser diode. Each of the laser diodes 710 is de-activated(i.e., turned off) as a result of the switch 708 not coupling the DAC706 to the respective laser diode (e.g., de-coupling the DAC 706 fromthe respective laser diode). A spacing between adjacent laser diodes maybe greater than or equal to a threshold spacing. For instance, thethreshold spacing may be 0.08 mm, 0.1 mm, 0.12 mm, 0.15 mm, or 0.2 mm.

The sequential scan control logic 712 is configured to generate thefirst control signal to control operation of the switch 708. Byconfiguring the first control signal CS1 to cause the switch 708 toselectively couple the DAC 706 to the laser diodes 710 in a sequentialmanner, the sequential scan control logic 712 may cause the lightemitted by each of the laser diodes 710 to be scanned across arespective portion of the region. For instance, the sequential scancontrol logic 712 may configure the first control signal CS1 to causethe switch 708 to couple the DAC 706 to a first laser diode D1 until thescan of the first laser diode D1 has passed through a region of interestin the region. For example, feedback 716 from a glint locationprocessing system and/or a pupil location processing system (examples ofwhich are discussed below with reference to FIG. 8) may indicate thatthe scan of the first laser diode D1 has passed through the region ofinterest. In accordance with this example, the feedback 716 may includeinformation (e.g., a grayscale image value) regarding a point in theregion to which the scan of the first laser diode D1 is directed and/orinformation regarding other point(s) in the region through which thescan has passed. In further accordance with this example, the sequentialscan control logic 712 may determine that the scan of the first laserdiode D1 has passed through the region of interest based at least inpart on the information regarding the point in the region to which thescan is directed and/or the information regarding the other point(s) inthe region through which the scan has passed. The sequential scancontrol logic 712 may then configure the first control signal CS1 tocause the switch 708 to de-activate the first laser diode D1 and toactivate a second laser diode D2. For instance, the sequential scancontrol logic 712 may configure the first control signal CS1 to causethe switch 708 to de-couple the DAC 706 from the first laser diode D1and then couple the DAC 706 to the second laser diode D2 until the scanof the second laser diode D2 has passed through the region of interest,and so on until the switch 708 has sequentially connected the DAC 706 toeach of the laser diodes 710 to enable the scan of each laser diode topass through the region of interest. The sequential scan control logic712 may de-activate each laser diode and activate the next sequentiallaser diode based on the feedback 716 from the glint location processingsystem and/or the pupil location processing system indicating that thescan of the respective laser diode has passed through the region ofinterest.

The sequential scan control logic 712 is further configured to generatea second control signal CS2 to control the scanning optics 714. Forexample, the scanning optics 714 may include mirror(s), and thesequential scan control logic 712 may generate the second control signalCS2 to control movement of the mirror(s). In accordance with thisexample, the sequential scan control logic 712 may generate the secondcontrol signal CS2 to move the mirror(s) such that the mirror(s) reflectthe light that is emitted by the laser diodes 710 across the respectiveportions of the region.

The scanning optics 714 are configured to scan the light that is emittedfrom the laser diodes 710 across the region based on the second controlsignal CS2. For instance, the scanning optics 714 may include mirror(s).Each mirror may be configured to oscillate about one or more axes basedon the second control signal CS2. For example, the mirror(s) may includea fast scan MEMS mirror configured to rotate (e.g., oscillate) about afirst axis and a slow scan MEMS mirror configured to rotate about asecond axis that is orthogonal to the first axis. In accordance withthis example, the fast scan MEMS mirror and the slow scan MEMS mirrormay operate collaboratively to scan the light from the laser diodes 710across respective portions of the region (e.g., in a raster pattern)based on the second control signal CS2.

It will be recognized that the multi-laser scanning assembly 700 may notinclude all of the components shown in FIG. 7. Furthermore, themulti-laser scanning assembly 700 may include components in addition toor in lieu of those shown in FIG. 7.

FIG. 8 is a block diagram of example processing pipelines 800 in an eyetracking system. Functionality of the processing pipelines 800 isdescribed with regard to a single sample period (a.k.a. frame) and inthe context of an eye tracking system 802 having four photodetectors 804a-804 d for non-limiting, illustrative purposes. Each of thephotodetectors 804 a-804 d is configured to detect light reflected bythe eye 806. For instance, the light may be received at the eye 806 froma multi-laser scanning assembly, such as the multi-laser scanningassembly 700 shown in FIG. 7. The photodetectors 804 a-804 d generaterespective analog currents PD1, PD2, PD3, and PD4 based on the reflectedlight that is detected at the respective photodetectors 804 a-804 d. Thecurrent-to-voltage converters 808 a-808 d convert the respective analogcurrents PD1, PD2, PD3, and PD4 into respective analog voltages VPD1,VPD2, VPD3, and VPD4. The current-to-voltage converters 808 a-808 d maybe transimpedance amplifiers (TIAs), though the scope of the exampleembodiments is not limited in this respect. The analog voltages VPD1,VPD2, VPD3, and VPD4 are provided to a pupil location processing system810 and a glint location processing system 812 for processing.

The pupil location processing system 810 includes a summing junction814, an analog-to-digital converter (ADC) 816, a MEMS trajectorycalculator 818, and frame buffer 820. The summing junction 814 sums theanalog voltages VPD1, VPD2, VPD3, and VPD4 to provide a summed analogvoltage, which increases the signal amplitude and reduces noiseproportionally to the square root of the sum. The ADC 816 converts thesummed analog voltage to a summed digital signal DS representingintensity values for reflected light detected for the sample period. TheMEMS trajectory calculator 818 receives synchronized signals SS from theMEMS scanning mirror. The synchronized signals SS indicate a currentscan x-position and y-position of the scanning mirror during the sampleperiod. The MEMS trajectory calculator 818 calculates the current scanangle based on the synchronized signals SS. Based on the scan angle, theMEMS trajectory calculator 818 stores the summed digital signal DSgenerated by the ADC 816 in a corresponding pixel in the frame buffer820 for that particular angle. Thus, as the mirror rotates and light isscanned across the eye 806, a determined summed digital signal DS isstored in the appropriate pixel for each different scan angle,eventually resulting in a full frame buffer with each pixel storing adetected intensity signal, forming a greyscale image. The formedgreyscale image may then be analyzed to determine a location of a pupilin the greyscale image. In this example, as four photodetectors areused, the greyscale image would have four bright spots in the image,corresponding to locations of respective glints.

The MEMS trajectory calculator 818 may provide feedback 716 (or aportion thereof), indicating whether a scan of a laser diode during thesample period has passed through a region of interest. For instance, thefeedback 716 may include information regarding the current scan angle,the summed digital signal (a.k.a. detected intensity signal)corresponding to the current scan angle, summed digital signalscorresponding to other scan angles, other information regarding thegreyscale image, etc.

More accurate locations of the glints may be determined by the glintlocation processing system 812. The glint location processing system 812includes comparators 822 a-822 d, interrupt handlers 826, and gazedirection logic 828. The comparators 822 a-822 d compare the respectiveanalog voltages VPD1, VPD2, VPD3, and VPD4 that are received from therespective current-to-voltage converters 808 a-808 d to respectivereference voltages and provide respective digital states 824 (labeled“G1”, “G2”, “G3”, and “G4”) based on the comparisons. Any two or more ofthe reference voltages may be the same or different. For example, eachof the digital states G1-G4 may take the form an output bit, such thatwhen the received analog voltage exceeds a reference voltage, the outputbit changes from a first state to a second state. The reference voltageat each of the comparators 822 a-822 d may be set, for example, to halfof the total glint amplitude or to any other suitable value. Next, eachof the digital states G1-G4 is received at an interrupt handler 826.When a digital signal (e.g., a corresponding output bit) changes fromthe first state to the second state, the corresponding interrupt handler826 may be triggered to store a current time value (e.g., a clock stateof an operating clock). The output results in a generated list of glintevents with corresponding time values. The glint location processingsystem 812 may utilize a MEMS trajectory calculator, similar to the MEMStrajectory calculator 818 that is included in the pupil locationprocessing system 810, to associate each time value with a current MEMSscan angle. The gaze direction logic 828 may then calculate the locationof a glint using the known mirror scan angle at the time that the glintwas received by a corresponding photodetector. Thus, glint locations maybe determined using comparator outputs without performing imageanalysis, which may allow glint tracking to be performed in apower-efficient manner. The gaze direction logic 828 may use an eyetracking algorithm to determine an eye gaze direction based on the glintlocations and the pupil location, as determined from the greyscaleimage.

The gaze direction logic 828 may provide feedback 716 (or a portionthereof), indicating whether a scan of a laser diode has passed througha region of interest. For instance, the feedback 716 may includeinformation regarding glint location(s) and/or pupil location(s).

Pupil location processing may consume more power than glint locationprocessing at a same frame rate. As such, the pupil location processingsystem 810 may be configured to be inactive or operate at a lower framerate until a threshold magnitude of eye rotation is detected via theglint location processing system 812 system. The eye tracking algorithmmay use a most recent pupil image stored in the frame buffer 820 forgaze determination until eye rotation of sufficient magnitude isdetermined from the glint location processing system 812 to triggeroperation of (or a higher frame rate of operation for) the pupillocation processing system 812. This may help the eye tracking system toconserve power.

It will be recognized that the pipelines 800 may not include all of thecomponents shown in FIG. 8. Furthermore, the pipelines 800 may includecomponents in addition to or in lieu of those shown in FIG. 8.

FIG. 9 is a block diagram of example processing pipelines 900 in anothereye tracking system. The processing pipelines 900 are described andillustrated in the context of a single photodetector 902 fornon-limiting, illustrative purposes. It will be understood that thesystem and processes described may apply to each of a plurality ofphotodetectors in the eye tracking system. As shown in FIG. 9, thepipelines 900 include the photodetector 902, an infrared (IR) laserdrive and scanning optics system 904, a current-to-voltage converter908, comparators 910, a digital-to-analog converter (DAC) 912, aserializer 914, position logic 916, a summing junction 920, ananalog-to-digital converter (ADC) 922, gamma correction logic 924, and agrayscale image frame buffer 926. The photodetector 902 detects lightthat is reflected from an eye that is illuminated by an infrared laserlight source controlled by the infrared laser drive and scanning opticssystem 904. The photodetector 902 generates a current based on thedetected light.

The current-to-voltage converter 908 converts the current that isgenerated by the photodetector 902 into a voltage signal. Thefunctionality of the pipelines 900 in FIG. 9 is similar to thefunctionality of the pipelines 800 in FIG. 8, except that the voltagesignal resulting from each photodetector is split into four paths forprovision to four comparators 910. The DAC 912 converts programmabledigital reference voltages into respective analog reference voltages foruse by the respective comparators 910. Each of the analog referencevoltages is different from the other analog reference voltages. Each ofthe comparators 910 compares the voltage signal that is received fromthe photodetector 902 to the respective analog reference voltage andprovides a digital state that corresponds to a difference between thevoltage signal and the analog reference voltage. For instance, insteadof a 1-bit analog-to-digital converter, each comparator may utilize a 2-or 3-bit analog-to-digital converter that allows for more preciseamplitude information. Comparing the voltage signal for eachphotodetector to four different reference voltages may result in a moreaccurate determination of the amplitude profile of a glint, and thus canbe used to accept or reject certain glints based on the voltageamplitudes and/or profiles. For example, the process may help todistinguish a specular reflection from a cornea from a specularreflection from an eyeglass or contact lens, such as by ignoring signalsthat match an expected voltage amplitude from eyeglasses and/or contactlenses, e.g. as determined during calibration. The use of multiplecomparators also allows for the creation of a heat map of an amplitudeprofile for each glint.

The serializer 914 serializes the parallel signals (digital states) fromthe respective comparators 910 (four for each photodetector), feedingthe signals from the comparators 910 in serial to the position logic916. In other implementations, the signals may be communicated partiallyor fully in parallel. Corresponding interrupt handlers, as describedabove with regard to FIG. 8, may be triggered to capture time valuesassociated with each glint signal and to acquire (e.g. via a MEMStrajectory calculator) synchronized signals from the MEMS scanningmirror indicating a current scan x-position and y-position of thescanning mirror by the position logic 916. The position logic 916generates a glint list 918 with each glint having a correspondingintensity (amplitude) and x and y position of the scanning mirror. Theposition logic 916 determines the angle of reflection based on theposition of the scanning mirror. The position logic 916 determines thelocation of a glint (i.e., the glint location) based on the angle ofreflection.

The summing junction 920 sums the voltage signal that is received fromthe converter 908 with the voltage signals of other convertersassociated with other respective photodetectors to provide a summedanalog voltage signal. The ADC 922 converts the summed analog voltagesignal into a summed digital voltage signal. The gamma correction logic924 may perform a gamma correction operation on the summed digitalvoltage signal to transform a luminance of linear red, green, and bluecomponents into a nonlinear image signal. The gamma correction logic 924provides the nonlinear image signal into the greyscale image framebuffer 926.

In the above examples, the scanning optics may include in a sine-wavemirror system that scans in a first direction (e.g. an x-direction)faster than in a second orthogonal direction (e.g. a y-direction). Dueto the harmonic oscillation of the mirror, the speed of the mirror slowsto a stop at the vertical and horizontal edges of the mirror motion atrespective points in time, resulting in unnecessarily higher powerdensity at the edges. As such, in some examples, sinusoidal correctionmay be applied to the system by turning off the infrared light sourcewhen the scanning mirror is scanning at the edges, and turning theinfrared light source on when the scanning mirror is scanning betweenthe edges. Such a correction function may further help to conservepower.

Additionally, with such a harmonically oscillating mirror system, themirror motion has a greater speed in the center of the motion than atthe edges of the motion. As such, if a constant sample rate is utilizedfor gaze tracking, more gaze signals are sampled at the edges of theimage than in the center, resulting in variable resolution across theimage. Accordingly, in some examples, the system may be configured toutilize a variable sample rate to compensate for the variable mirrorspeed and thus to achieve a more even resolution across the image.

Moreover, in some examples, the eye tracking laser light source may beilluminated only for sufficient time to obtain each sample and turnedoff between samples. This may further help to reduce power consumptionby the laser and current-to-voltage converters.

It will be recognized that the pipelines 900 may not include all of thecomponents shown in FIG. 9. Furthermore, the pipelines 900 may includecomponents in addition to or in lieu of those shown in FIG. 9.

FIGS. 10 and 11 depict flowcharts 1000 and 1100 of example methods fortracking an eye using multiple lasers in accordance with embodiments.FIGS. 12A and 12B depict respective portions a flowchart 1200 of anotherexample method for tracking an eye using multiple lasers in accordancewith an embodiment. Flowcharts 1000, 1100, and 1200 may be performed bythe multi-laser scanning assembly 700 shown in FIG. 7 and the processingpipelines 800 shown in FIG. 8, for example. For illustrative purposes,flowcharts 1000, 1100, and 1200 are described with respect to themulti-laser scanning assembly 700 and the processing pipelines 800.Further structural and operational embodiments will be apparent topersons skilled in the relevant art(s) based on the discussion regardingflowcharts 1000, 1100, and 1200.

As shown in FIG. 10, the method of flowchart 1000 begins at step 1002.In step 1002, light from multiple laser light sources is scanned acrossa region that includes an eye of a user. The light may be any suitabletype of light. For instance, the light may be infrared light orultraviolet light. In an example implementation, the scanning optics 714scan the light from the laser diodes 710 across the region that includesthe eye 806 of the user.

In an example embodiment, scanning the light from the laser lightsources at step 1002 includes scanning at least a portion of the lightfrom a first subset of the laser light sources (e.g., a first pluralityof laser light sources) that is included in a first semiconductor chip.In accordance with this embodiment, scanning the light from the laserlight sources at step 1002 further includes scanning at least a portionof the light from a second subset of the laser light sources (e.g., asecond plurality of laser light sources) that is included in a secondsemiconductor chip.

In another example embodiment, scanning the light from the laser lightsources at step 1002 includes scanning the light from the laser lightsources that are included in a single semiconductor chip.

Step 1002 includes steps 1014 and 1016. At step 1014, first light from afirst laser light source is scanned across a first portion of the regionduring a first period of time. At step 1016, second light from a secondlaser light source is scanned across a second portion of the regionduring a second period of time. The second portion of the region atleast partially overlaps the first portion of the region. For instance,each of the first and second portions of the region may overlap a regionof interest in the region across which the light is scanned. The regionof interest may exclude portions of the region that do not include theeye of the user. For instance, the region of interest may excludeportions of the region that are outside an outer boundary of the eye.The second period of time is different from the first period of time.The first period of time and the second period of time may or may notoverlap.

At step 1004, portion(s) of the light that are reflected from an iris ofthe eye are detected by respective photodetector(s). For instance, theportion(s) of the light may be reflected (e.g., scattered) from theLambertian surface of the iris. In an example implementation, thephotodetectors 804 a-804 d detect respective portions of the light thatare reflected from the iris of the eye 806.

At step 1006, analog signal(s) are generated by the respectivephotodetector(s) based at least in part on the respective detectedportion(s) of the light. In an example implementation, thephotodetectors 804 a-804 d generate the respective analog currents PD1,PD2, PD3, and PD4 based at least in part on the respective detectedportions of the light.

At step 1008, a sum of the analog signal(s) that are generated by therespective photodetector(s) is converted to a digital signal. In anexample implementation, the ADC 816 converts a sum of the analog signalsthat are generated by the respective photodetectors 804 a-804 d to thedigital signal. For example, the current-to-voltage converters 808 a-808d may convert the respective analog currents PD1, PD2, PD3, and PD4 intorespective analog voltages VPD1, VPD2, VPD3, and VPD4. In accordancewith this embodiment, the summing junction 814 may sum the analogvoltages VPD1, VPD2, VPD3, and VPD4 to provide a summed analog voltage.In further accordance with this example, the ADC 816 may convert thesummed analog voltage to the digital signal.

At step 1010, a current mirror scan angle of a scanning mirror that isused to scan the light from the laser light sources across the region iscalculated. In an example implementation, the MEMS trajectory calculator818 calculates the current mirror scan angle of the scanning mirror thatis used to scan the light from the laser diodes 710 across the region.

At step 1012, the digital signal is stored in a pixel of a frame bufferbased at least in part on the current mirror scan angle. For instance,the digital signal may be stored in the frame buffer to produce agrayscale image of the eye of the user that captures a pupil of the eye.A location of the pupil may be derived from a lack of scattered light inan area that defines the pupil because the pupil is an aperture.Accordingly, the pupil may appear as a relatively dark spot in thegrayscale image. In an example implementation, the MEMS trajectorycalculator 818 stores the digital signal in a pixel of the frame buffer820 based at leas in part on the current mirror scan angle.

In some example embodiments, one or more steps 1002, 1004, 1006, 1008,1010, 1012, 1014, and/or 1016 of flowchart 1000 may not be performed.Moreover, steps in addition to or in lieu of steps 1002, 1004, 1006,1008, 1010, 1012, 1014, and/or 1016 may be performed. For instance, inan example embodiment, the method of flowchart 1000 further includesdetermining a region of interest in the region across which the light isscanned based at least in part on a grayscale image reconstruction ofthe region. For example, the sequential scan control logic 712 maydetermine the region of interest. In accordance with this embodiment,the region of interest includes the iris of the eye, and the region ofinterest is smaller than the region across which the light is scanned.In further accordance with this embodiment, the method of flowchart 1000further includes stopping the scanning of the first light from the firstlaser light source across the first portion of the region and beginningthe scanning of the second light from the second laser light sourceacross the second portion of the region based at least in part on a scanof the first light traversing the region of interest and reaching anouter boundary of the region of interest. For example, the first portionof the region and the second portion of the region may include theregion of interest. In accordance with this example, stopping thescanning of the first light from the first laser light source across thefirst portion of the region and beginning the scanning of the secondlight from the second laser light source across the second portion ofthe region may cause the first light from the first laser light sourceand the second light from the second laser light source to be scannedacross the region of interest. In an example implementation, thesequential scan control logic 712 may stop the scanning of the firstlight from the first laser diode D1 across the first portion of theregion and begin the scanning of the second light from the second laserdiode D2 across the second portion of the region based at least in parton the scan of the first light traversing the region of interest andreaching the outer boundary of the region of interest.

In another example embodiment, the method of flowchart 1000 furtherincludes generating multiple drive signals by a multiple respectivedrivers. In accordance with this embodiment, the drive signals areconfigured to drive the respective laser light sources. For instance,the drive signals may be configured to drive the respective laser lightsources sequentially during respective (e.g., consecutive and/ornon-overlapping) periods of time. In an example implementation, theintensity correction logic 704 includes drivers that generate therespective drive signals to drive the respective laser diodes 710. Forexample, the drivers may be coupled to the respective laser diodes 710without passing through the switch 708. In accordance with this example,the drivers may generate the respective drive signals to provide thefunctionality of the switch 708. For instance, rather than the switch708 selectively coupling the DAC 706 to the laser diodes 710, thedrivers may be configured to provide their drive signals one at a timeso that the laser diodes 710 are illuminated sequentially.

In yet another example embodiment, the method of flowchart 1000 furtherincludes generating multiple drive signals corresponding to multiplerespective consecutive time periods by a driver. In accordance with thisembodiment, the drive signals are configured to drive the respectivelaser light sources. For instance, the intensity correction logic 704may include the driver that generates the drive signals to drive therespective laser diodes 710. In accordance with this embodiment, themethod of flowchart 1000 further includes sequentially routing the drivesignals to the respective laser light sources during the respectiveconsecutive time periods by a multiplexer that is coupled to the driver.For instance, the drive signals may be sequentially routed to therespective laser light sources by switchably coupling the driver to thelaser light sources sequentially (e.g., one-at-a-time). In an exampleimplementation, the switch 708, which is coupled to the intensitycorrection logic 704, may sequentially route the drive signals to therespective laser diodes 710 during the respective consecutive timeperiods. In accordance with this implementation, the switch 708 maysequentially route the drive signals to the respective laser diodes 710based on the first control signal CS1 that is received from thesequential scan control logic 712. In further accordance with thisimplementation, the switch 708 may sequentially route the drive signalsto the respective laser diodes 710 by switchably coupling the driver tothe laser diodes 710 sequentially (e.g., one-at-a-time)].

In still another example embodiment, the method of flowchart 1000further includes modifying drive currents that are used to drive therespective laser light sources using respective compensation schemes.Each compensation scheme is configured to provide substantially uniformillumination intensity across the region for the respective laser lightsource by compensating for illumination intensity variations associatedwith a trajectory over which the light from the respective laser lightsource is scanned. For instance, the intensity correction logic 704 maymodify the drive currents that are used to drive the respective laserdiodes 710 using the respective compensation schemes.

In yet another example embodiment, the method of flowchart 1000 furtherincludes causing an entrance pupil associated with multiplevisible-light laser groupings, which are placed proximate the respectivelaser light sources, to be replicated over the region as the light fromthe laser light sources is scanned across the region. For instance, theentrance pupil may be replicated over the region concurrently with thelight from the laser light sources being scanned across the region. Eachvisible-light laser grouping includes a red laser, a green laser, and ablue laser. In an example implementation, the scanning optics 714 causethe entrance pupil associated with the visible-light laser groupings tobe replicated over the region as the light from the laser diodes 710 isscanned across the region. In accordance with this example, thevisible-light laser groupings are placed proximate the respective laserdiodes 710. For example, the scanning optics 714 may include a lenshaving first and second opposing surfaces through which the light fromthe laser light sources and visible light from the visible-light lasergroupings passes. In accordance with this example, a distance betweenthe first surface and the visible-light laser groupings is less than adistance between the second surface and the visible-light lasergroupings. In further accordance with this example, the entrance pupilmay be an optical image of a physical aperture stop associated with(e.g., included in) the scanning optics from a perspective of thevisible-light laser groupings.

In still another example embodiment, the method of flowchart 1000further includes one or more of the steps shown in flowchart 1100 ofFIG. 11. As shown in FIG. 11, the method of flowchart 1100 begins atstep 1102. In step 1102, second portion(s) of the light that arereflected (e.g., specularly reflected) from a cornea of the eye aredetected by the respective photodetector(s). In an exampleimplementation, the photodetectors 804 a-804 d detect second portions ofthe light that are reflected from the cornea of the eye 806. Inaccordance with this embodiment, generating the analog signal(s) at step1006 includes generating the analog signal(s) by the respectivephotodetector(s) further based at least in part on the respectivedetected second portion(s) of the light. In further accordance with thisembodiment, the analog signal(s) include respective analog current(s).

At step 1104, analog current(s) that are included in the respectiveanalog signal(s) are converted to respective voltage(s). In an exampleimplementation, the current-to-voltage converters 808 a-808 d convertthe analog currents PD1, PD2, PD3, and PD4 into respective analogvoltages VPD1, VPD2, VPD3, and VPD4.

At step 1106, the voltage(s) are compared to a reference voltage. In anexample implementation, the comparators 822 a-822 d compare therespective analog voltages VPD1, VPD2, VPD3, and VPD4 to respectivereference voltages. In accordance with this implementation, any two ormore of the reference voltages may be the same or different.

At step 1108, digital state(s) are provided based at least in part onrespective difference(s) between the reference voltage and therespective voltage(s). In an example implementation, the comparators 822a-822 d provide respective digital states 824 based at least in part onrespective differences between the respective reference voltages and therespective analog voltages VPD1, VPD2, VPD3, and VPD4.

At step 1110, a time value is provided when a digital state triggers aninterrupt handler. The time value indicates a time at which a glint isdetected by a photodetector. In an example implementation, an interrupthandler 826 provides a time value when a digital state triggers theinterrupt handler.

As shown in FIG. 12, the method of flowchart 1200 begins at step 1202.In step 1202, light from multiple laser light sources is scanned acrossa region that includes a cornea of a user. The light may be any suitabletype of light. For instance, the light may be infrared light orultraviolet light. In an example implementation, the scanning optics 714scan the light from the laser diodes 710 across the region that includesthe cornea of the user.

In an example embodiment, scanning the light from the laser lightsources at step 1202 includes scanning at least a portion of the lightfrom a first subset of the laser light sources (e.g., a first pluralityof laser light sources) that is included in a first semiconductor chip.In accordance with this embodiment, scanning the light from the laserlight sources at step 1202 further includes scanning at least a portionof the light from a second subset of the laser light sources (e.g., asecond plurality of laser light sources) that is included in a secondsemiconductor chip.

In another example embodiment, scanning the light from the laser lightsources at step 1202 includes scanning the light from the laser lightsources that are included in a single semiconductor chip.

Step 1202 includes steps 1222 and 1224. At step 1222, first light from afirst laser light source is scanned across a first portion of the regionduring a first period of time. At step 1224, second light from a secondlaser light source is scanned across a second portion of the regionduring a second period of time. The second portion of the region atleast partially overlaps the first portion of the region. For instance,each of the first and second portions of the region may overlap a regionof interest in the region across which the light is scanned. The regionof interest may exclude portions of the region that do not include thecornea of the user. For instance, the region of interest may excludeportions of the region that are outside an outer boundary of the cornea.The second period of time is different from the first period of time.The first period of time and the second period of time may or may notoverlap.

At step 1204, portion(s) of the light that are reflected (e.g.,specularly reflected) from the cornea of the user at correspondingangles(s) are detected by respective photodetector(s). In an exampleimplementation, the photodetectors 804 a-804 d detect the respectiveportions of the light that are reflected from the cornea of the user atcorresponding angles.

At step 1206, current(s) are generated by the respectivephotodetector(s) based at least in part on the respective detectedportion(s) of the light. In an example implementation, thephotodetectors 804 a-804 d generate the respective analog currents PD1,PD2, PD3, and PD4 based at least in part on the respective detectedportions of the light.

At step 1208, the current(s) that are generated by the respectivephotodetector(s) are converted to respective voltage(s). In an exampleimplementation, the current-to-voltage converters 808 a-808 d convertthe analog currents PD1, PD2, PD3, and PD4 into respective analogvoltages VPD1, VPD2, VPD3, and VPD4.

At step 1210, a voltage corresponding to a respective photodetector isidentified. For instance, any of the comparators 822 a-822 d mayidentify the voltage corresponding to the respective photodetector. Forinstance, a first comparator 822 a may identify the analog voltage VPD1corresponding to a first photodetector 804 a; a second comparator 822 bmay identify the analog voltage VPD2 corresponding to a secondphotodetector 804 b; a third comparator 822 c may identify the analogvoltage VPD3 corresponding to a third photodetector 804 c; or a fourthcomparator 822 d may identify the analog voltage VPD4 corresponding to afourth photodetector 804 d. Upon completion of step 1210, flow continuedto step 1212 in FIG. 12B.

At step 1212, a determination is made whether the voltage is greaterthan or equal to a reference voltage. In an example implementation, thecomparator (e.g., any of the comparators 822 a-822 d) to which thevoltage corresponds determines whether the respective analog voltageVPD1, VPD2, VPD3, or VPD4 is greater than or equal to the referencevoltage. If the voltage is greater than or equal to the referencevoltage, flow continues to step 1214. Otherwise, flow continues to step1218.

At step 1214, a first digital state, which triggers an interrupt handleris provided. In an example implementation, the comparator to which thevoltage corresponds provides the corresponding first digital state G1,G2, G3, or G4, which triggers the interrupt handler.

At step 1216, a time value is provided. The time value indicates a timeat which a glint is detected by a photodetector. In an exampleimplementation, the interrupt handler (e.g., any of the interrupthandlers 826) that is triggered by the first digital state at step 1214provides the time value. Upon completion of step 1216, flow continues tostep 1220.

At step 1218, a second digital state, which does not trigger aninterrupt handler is provided. In an example implementation, thecomparator to which the voltage corresponds provides the correspondingsecond digital state G1, G2, G3, or G4, which does not trigger theinterrupt handler.

At step 1220, a determination is made whether another voltage is to becompared to a reference voltage. If another voltage is to be compared toa reference voltage, flow returns to step 1212. Otherwise, flowchart1200 ends. For instance, any of the comparators 822 a-822 d maydetermine whether another voltage is to be compared to a referencevoltage based on whether the respective analog voltage (i.e., analogvoltage VPD1, VPD2, VPD3, or VPD4) is received by the respectivecomparator.

In some example embodiments, one or more steps 1202, 1204, 1206, 1208,1210, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, and/or 1228 offlowchart 1200 may not be performed. Moreover, steps in addition to orin lieu of steps 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218,1220, 1222, 1224, 1226, and/or 1228 may be performed. For instance, inan example embodiment, the method of flowchart 1200 further includesdetermining a region of interest in the region across which the light isscanned based at least in part on a glint that is detected by aphotodetector. For example, the sequential scan control logic 712 maydetermine the region of interest. In accordance with this embodiment,the region of interest includes the cornea of the user, and the regionof interest is smaller than the region across which the light isscanned. In further accordance with this embodiment, the method offlowchart 1200 further includes stopping the scanning of the first lightfrom the first laser light source across the first portion of the regionand beginning the scanning of the second light from the second laserlight source across the second portion of the region based at least inpart on a scan of the first light traversing the region of interest andreaching an outer boundary of the region of interest. For example, thefirst portion of the region and the second portion of the region mayinclude the region of interest. In accordance with this example,stopping the scanning of the first light from the first laser lightsource across the first portion of the region and beginning the scanningof the second light from the second laser light source across the secondportion of the region may cause the first light from the first laserlight source and the second light from the second laser light source tobe scanned across the region of interest. In an example implementation,the sequential scan control logic 712 may stop the scanning of the firstlight from the first laser diode D1 across the first portion of theregion and begin the scanning of the second light from the second laserdiode D2 across the second portion of the region based at least in parton the scan of the first light traversing the region of interest andreaching the outer boundary of the region of interest.

In another example embodiment, the method of flowchart 1200 furtherincludes generating multiple drive signals by a multiple respectivedrivers. In accordance with this embodiment, the drive signals areconfigured to drive the respective laser light sources. For instance,the drive signals may be configured to drive the respective laser lightsources sequentially during respective (e.g., consecutive and/ornon-overlapping) periods of time. In an example implementation, theintensity correction logic 704 includes drivers that generate therespective drive signals to drive the respective laser diodes 710. Forexample, the drivers may be coupled to the respective laser diodes 710without passing through the switch 708. In accordance with this example,the drivers may generate the respective drive signals to provide thefunctionality of the switch 708. For instance, rather than the switch708 selectively coupling the DAC 706 to the laser diodes 710, thedrivers may be configured to provide their drive signals one at a timeso that the laser diodes 710 are illuminated sequentially.

In yet another example embodiment, the method of flowchart 1200 furtherincludes generating multiple drive signals corresponding to multiplerespective consecutive time periods by a driver. In accordance with thisembodiment, the drive signals are configured to drive the respectivelaser light sources. For instance, the intensity correction logic 704may include the driver that generates the drive signals to drive therespective laser diodes 710. In accordance with this embodiment, themethod of flowchart 1200 further includes sequentially routing the drivesignals to the respective laser light sources during the respectiveconsecutive time periods by a multiplexer that is coupled to the driver.For instance, the drive signals may be sequentially routed to therespective laser light sources by switchably coupling the driver to thelaser light sources sequentially (e.g., one-at-a-time). In an exampleimplementation, the switch 708, which is coupled to the intensitycorrection logic 704, may sequentially route the drive signals to therespective laser diodes 710 during the respective consecutive timeperiods. In accordance with this implementation, the switch 708 maysequentially route the drive signals to the respective laser diodes 710based on the first control signal CS1 that is received from thesequential scan control logic 712. In further accordance with thisimplementation, the switch 708 may sequentially route the drive signalsto the respective laser diodes 710 by switchably coupling the driver tothe laser diodes 710 sequentially (e.g., one-at-a-time)].

In still another example embodiment, the method of flowchart 1200further includes modifying drive currents that are used to drive therespective laser light sources using respective compensation schemes.Each compensation scheme is configured to provide substantially uniformillumination intensity across the region for the respective laser lightsource by compensating for illumination intensity variations associatedwith a trajectory over which the light from the respective laser lightsource is scanned. For instance, the intensity correction logic 704 maymodify the drive currents that are used to drive the respective laserdiodes 710 using the respective compensation schemes.

In yet another example embodiment, the method of flowchart 1200 furtherincludes causing an entrance pupil associated with the multiplevisible-light laser groupings, which are placed proximate the respectivelaser light sources, to be replicated over the region as the light fromthe laser light sources is scanned across the region. For instance, theentrance pupil associated with the visible-light laser groupings may bereplicated over the region concurrently with the light from the laserlight sources being scanned across the region. Each visible-light lasergrouping includes a red laser, a green laser, and a blue laser. In anexample implementation, the scanning optics 714 causes the entrancepupil associated with the visible-light laser groupings to be replicatedover the region as the light from the laser diodes 710 is scanned acrossthe region. In accordance with this example, the visible-light lasergroupings are placed proximate the respective laser diodes 710.

Any one or more of the intensity correction logic 704, switch 708,sequential scan control logic 712, MEMS trajectory calculator 818, gazedirection logic 828, position logic 916, gamma correction logic 924,flowchart 1000, flowchart 1100, and/or flowchart 1200 may be implementedin hardware, software, firmware, or any combination thereof.

For example, any one or more of the intensity correction logic 704,switch 708, sequential scan control logic 712, MEMS trajectorycalculator 818, gaze direction logic 828, position logic 916, gammacorrection logic 924, flowchart 1000, flowchart 1100, and/or flowchart1200 may be implemented, at least in part, as computer program codeconfigured to be executed in one or more processors.

In another example, any one or more of the intensity correction logic704, switch 708, sequential scan control logic 712, MEMS trajectorycalculator 818, gaze direction logic 828, position logic 916, gammacorrection logic 924, flowchart 1000, flowchart 1100, and/or flowchart1200 may be implemented, at least in part, as hardware logic/electricalcircuitry. Such hardware logic/electrical circuitry may include one ormore hardware logic components. Examples of a hardware logic componentinclude but are not limited to a field-programmable gate array (FPGA),an application-specific integrated circuit (ASIC), anapplication-specific standard product (ASSP), a system-on-a-chip system(SoC), a complex programmable logic device (CPLD), etc. For instance, aSoC may include an integrated circuit chip that includes one or more ofa processor (e.g., a microcontroller, microprocessor, digital signalprocessor (DSP), etc.), memory, one or more communication interfaces,and/or further circuits and/or embedded firmware to perform itsfunctions.

III. Further Discussion of Some Example Embodiments

A first example multi-laser eye tracking system comprises a plurality oflaser light sources, scanning optics, one or more photodetectors, ananalog-to-digital converter (ADC), and one or more processors. Theplurality of laser light sources includes at least a first laser lightsource and a second laser light source. The scanning optics areconfigured to scan light from the plurality of laser light sourcesacross a region that includes an eye of a user. The scanning optics areconfigured to scan first light from the first laser light source acrossa first portion of the region during a first period of time. Thescanning optics are configured to scan second light from the secondlaser light source across a second portion of the region during a secondperiod of time that is different from the first period of time. Thefirst portion of the region and the second portion of the region atleast partially overlap. The one or more photodetectors are configuredto generate one or more respective analog signals. Each photodetector isconfigured to detect a portion of the light that is reflected from aniris of the eye and configured to generate the respective analog signalbased at least in part on the detected portion of the light. The ADC isconfigured to convert a sum of the one or more analog signals that aregenerated by the one or more respective photodetectors to a digitalsignal. The one or more processors are configured to calculate a currentmirror scan angle of a scanning mirror of the scanning optics. The oneor more processors are further configured to provide the digital signalinto a pixel of a frame buffer based at least in part on the currentmirror scan angle.

In a first aspect of the first example multi-laser eye tracking system,each photodetector is configured to detect a second portion of the lightthat is reflected from a cornea of the eye and configured to generatethe respective analog signal further based at least in part on thedetected second portion of the light. In accordance with the firstaspect, the one or more analog signals include one or more respectiveanalog currents. In further accordance with the first aspect, the firstmulti-laser eye tracking system further comprises one or morecurrent-to-voltage converters configured to convert the one or moreanalog currents that are generated by the one or more respectivephotodetectors to one or more respective voltages. In further accordancewith the first aspect, the first multi-laser eye tracking system furthercomprises one or more comparators configured to compare the one or morevoltages to a reference voltage and configured to provide one or moredigital states based at least in part on one or more respectivedifferences between the reference voltage and the one or more respectivevoltages. In further accordance with the first aspect, the firstmulti-laser eye tracking system further comprises an interrupt handlerconfigured to provide a time value when a digital state, which isincluded among the one or more digital states provided by the one ormore comparators, triggers the interrupt handler, the time valueindicating a time at which a glint is detected by a photodetector.

In a second aspect of the first example multi-laser eye tracking system,the one or more processors are further configured to determine a regionof interest in the region across which the light is scanned based atleast in part on a grayscale image reconstruction of the region. Inaccordance with the second aspect, the region of interest includes theiris of the eye and is smaller than the region across which the light isscanned. In further accordance with the second aspect, the one or moreprocessors are further configured to control the scanning optics to stopscanning the first light from the first laser light source across thefirst portion of the region and to begin scanning the second light fromthe second laser light source across the second portion of the regionbased at least in part on a scan of the first light traversing theregion of interest and reaching an outer boundary of the region ofinterest. The second aspect of the first example multi-laser eyetracking system may be implemented in combination with the first aspectof the first example multi-laser eye tracking system, though the exampleembodiments are not limited in this respect.

In a third aspect of the first example multi-laser eye tracking system,the first example multi-laser eye tracking system comprises a pluralityof semiconductor chips that includes at least a first semiconductor chipand a second semiconductor chip. In accordance with the third aspect,the first semiconductor chip includes a first subset of the plurality oflaser light sources, and the second semiconductor chip includes a secondsubset of the plurality of laser light sources. The third aspect of thefirst example multi-laser eye tracking system may be implemented incombination with the first and/or second aspect of the first examplemulti-laser eye tracking system, though the example embodiments are notlimited in this respect.

In an example of the third aspect, the first subset includes a firstplurality of laser light sources, and the second subset includes asecond plurality of laser light sources.

In a fourth aspect of the first example multi-laser eye tracking system,the plurality of laser light sources are included in a singlesemiconductor chip. The fourth aspect of the first example multi-lasereye tracking system may be implemented in combination with the firstand/or second aspect of the first example multi-laser eye trackingsystem, though the example embodiments are not limited in this respect.

In a fifth aspect of the first example multi-laser eye tracking system,the first example multi-laser eye tracking system further comprises aplurality of drivers configured to generate a plurality of respectivedrive signals, the plurality of drive signals configured to drive theplurality of respective laser light sources. The fifth aspect of thefirst example multi-laser eye tracking system may be implemented incombination with the first, second, third, and/or fourth aspect of thefirst example multi-laser eye tracking system, though the exampleembodiments are not limited in this respect.

In a sixth aspect of the first example multi-laser eye tracking system,the first example multi-laser eye tracking system further comprises adriver configured to generate a plurality of drive signals correspondingto a plurality of respective consecutive time periods. In accordancewith the fourth aspect, the plurality of drive signals is configured todrive the plurality of respective laser light sources. In furtheraccordance with the sixth aspect, the first example multi-laser eyetracking system further comprises a multiplexer coupled to the driver.In further accordance with the fourth aspect, the multiplexer isconfigured to sequentially route the plurality of drive signals to therespective laser light sources during the plurality of respectiveconsecutive time periods. The sixth aspect of the first examplemulti-laser eye tracking system may be implemented in combination withthe first, second, third, and/or fourth aspect of the first examplemulti-laser eye tracking system, though the example embodiments are notlimited in this respect.

In a seventh aspect of the first example multi-laser eye trackingsystem, a spacing between adjacent laser light sources in the pluralityof laser light sources is at least 0.1 millimeters. The seventh aspectof the first example multi-laser eye tracking system may be implementedin combination with the first, second, third, fourth, fifth, and/orsixth aspect of the first example multi-laser eye tracking system,though the example embodiments are not limited in this respect.

In an eighth aspect of the first example multi-laser eye trackingsystem, the one or more processors are configured to modify a pluralityof drive currents that are used to drive the plurality of respectivelaser light sources using a plurality of respective compensationschemes, each compensation scheme configured to provide substantiallyuniform illumination intensity across the region for the respectivelaser light source by compensating for illumination intensity variationsassociated with a trajectory over which the light from the respectivelaser light source is scanned. The eighth aspect of the first examplemulti-laser eye tracking system may be implemented in combination withthe first, second, third, fourth, fifth, sixth, and/or seventh aspect ofthe first example multi-laser eye tracking system, though the exampleembodiments are not limited in this respect.

In a ninth aspect of the first example multi-laser eye tracking system,the plurality of laser light sources are placed proximate a plurality ofrespective visible-light laser groupings. In accordance with the ninthaspect, each visible-light laser grouping includes a red laser, a greenlaser, and a blue laser. In further accordance with the ninth aspect,the scanning optics are configured to cause an entrance pupil associatedwith the plurality of visible-light laser groupings to be replicatedover the region as the light from the plurality of laser light sourcesis scanned across the region. The ninth aspect of the first examplemulti-laser eye tracking system may be implemented in combination withthe first, second, third, fourth, fifth, sixth, seventh, and/or eighthaspect of the first example multi-laser eye tracking system, though theexample embodiments are not limited in this respect.

A second example multi-laser eye tracking system comprises a pluralityof laser light sources, scanning optics, one or more photodetectors, oneor more current-to-voltage converters, one or more comparators, and aninterrupt handler. The plurality of laser light sources includes atleast a first laser light source and a second laser light source. Thescanning optics are configured to scan light from the plurality of laserlight sources across a region that includes a cornea of a user. Thescanning optics are configured to scan first light from the first laserlight source across a first portion of the region during a first periodof time. The scanning optics are configured to scan second light fromthe second laser light source across a second portion of the regionduring a second period of time that is different from the first periodof time. The first portion of the region and the second portion of theregion at least partially overlap. The one or more photodetectors areconfigured to generate one or more respective currents. Eachphotodetector is configured to detect a portion of the light that isreflected from the cornea of the user at a corresponding angle andconfigured to generate the respective current based at least in part onthe detected portion of the light. The one or more current-to-voltageconverters are configured to convert the one or more currents that aregenerated by the one or more respective photodetectors to one or morerespective voltages. The one or more comparators are configured tocompare the one or more voltages to a reference voltage and configuredto provide one or more digital states based at least in part on one ormore respective differences between the reference voltage and the one ormore respective voltages. The interrupt handler is configured to providea time value when a digital state, which is included among the one ormore digital states provided by the one or more comparators, triggersthe interrupt handler. The time value indicates a time at which a glintis detected by a photodetector.

In a first aspect of the second example multi-laser eye tracking system,the second example multi-laser eye tracking system further comprises oneor more processors. The one or more processors are configured todetermine a region of interest in the region across which the light isscanned based at least in part on a glint that is detected by aphotodetector. In accordance with the first aspect, the region ofinterest includes the cornea of the user and is smaller than the regionacross which the light is scanned. In further accordance with the firstaspect, the one or more processors are further configured to control thescanning optics to stop scanning the first light from the first laserlight source across the first portion of the region and to beginscanning the second light from the second laser light source across thesecond portion of the region based at least in part on a scan of thefirst light traversing the region of interest and reaching an outerboundary of the region of interest.

In a second aspect of the second example multi-laser eye trackingsystem, the second example multi-laser eye tracking system comprises aplurality of semiconductor chips that includes at least a firstsemiconductor chip and a second semiconductor chip. In accordance withthe second aspect, the first semiconductor chip includes a first subsetof the plurality of laser light sources, and the second semiconductorchip includes a second subset of the plurality of laser light sources.The second aspect of the second example multi-laser eye tracking systemmay be implemented in combination with the first aspect of the secondexample multi-laser eye tracking system, though the example embodimentsare not limited in this respect.

In an example of the second aspect, the first subset includes a firstplurality of laser light sources, and the second subset includes asecond plurality of laser light sources.

In a third aspect of the second example multi-laser eye tracking system,the plurality of laser light sources are included in a singlesemiconductor chip. The third aspect of the second example multi-lasereye tracking system may be implemented in combination with the firstaspect of the second example multi-laser eye tracking system, though theexample embodiments are not limited in this respect.

In a fourth aspect of the second example multi-laser eye trackingsystem, the second example multi-laser eye tracking system furthercomprises a plurality of drivers configured to generate a plurality ofrespective drive signals. In accordance with the fourth aspect, theplurality of drive signals is configured to drive the plurality ofrespective laser light sources. The fourth aspect of the second examplemulti-laser eye tracking system may be implemented in combination withthe first, second, and/or third aspect of the second example multi-lasereye tracking system, though the example embodiments are not limited inthis respect.

In a fifth aspect of the second example multi-laser eye tracking system,the second example multi-laser eye tracking system further comprises adriver configured to generate a plurality of drive signals correspondingto a plurality of respective consecutive time periods. In accordancewith the fifth aspect, the plurality of drive signals are configured todrive the plurality of respective laser light sources. In furtheraccordance with the fifth aspect, the second example multi-laser eyetracking system further comprises a multiplexer coupled to the driver.In further accordance with the fifth aspect, the multiplexer isconfigured to sequentially route the plurality of drive signals to therespective laser light sources during the plurality of respectiveconsecutive time periods. The fifth aspect of the second examplemulti-laser eye tracking system may be implemented in combination withthe first, second, and/or third aspect of the second example multi-lasereye tracking system, though the example embodiments are not limited inthis respect.

In a sixth aspect of the second example multi-laser eye tracking system,a spacing between adjacent laser light sources in the plurality of laserlight sources is at least 0.1 millimeters. The sixth aspect of thesecond example multi-laser eye tracking system may be implemented incombination with the first, second, third, fourth, and/or fifth aspectof the second example multi-laser eye tracking system, though theexample embodiments are not limited in this respect.

In a seventh aspect of the second example multi-laser eye trackingsystem, the second example multi-laser eye tracking system furthercomprises one or more processors configured to modify a plurality ofdrive currents that are used to drive the plurality of respective laserlight sources using a plurality of respective compensation schemes. Inaccordance with the seventh aspect, each compensation scheme isconfigured to provide substantially uniform illumination intensityacross the region for the respective laser light source by compensatingfor illumination intensity variations associated with a trajectory overwhich the light from the respective laser light source is scanned. Theseventh aspect of the second example multi-laser eye tracking system maybe implemented in combination with the first, second, third, fourth,fifth, and/or sixth aspect of the second example multi-laser eyetracking system, though the example embodiments are not limited in thisrespect.

In an eighth aspect of the second example multi-laser eye trackingsystem, the plurality of laser light sources are placed proximate aplurality of respective visible-light laser groupings. In accordancewith the eighth aspect, each visible-light laser grouping includes a redlaser, a green laser, and a blue laser. In further accordance with theeighth aspect, the scanning optics are configured to cause an entrancepupil associated with the plurality of visible-light laser groupings tobe replicated over the region as the light from the plurality of laserlight sources is scanned across the region. The eighth aspect of thesecond example multi-laser eye tracking system may be implemented incombination with the first, second, third, fourth, fifth, sixth, and/orseventh aspect of the second example multi-laser eye tracking system,though the example embodiments are not limited in this respect.

In a first example method, light from a plurality of laser lightsources, including at least a first laser light source and a secondlaser light source, is scanned across a region that includes an eye of auser. The scanning comprises scanning first light from the first laserlight source across a first portion of the region during a first periodof time and scanning second light from the second laser light sourceacross a second portion of the region, which at least partially overlapsthe first portion of the region, during a second period of time that isdifferent from the first period of time. One or more portions of thelight that are reflected from an iris of the eye are detected by one ormore respective photodetectors. One or more analog signals are generatedby the one or more respective photodetectors based at least in part onthe one or more respective detected portions of the light. A sum of theone or more analog signals that are generated by the one or morerespective photodetectors is converted to a digital signal. A currentmirror scan angle of a scanning mirror that is used to scan the lightfrom the plurality of laser light sources across the region iscalculated. The digital signal is stored in a pixel of a frame bufferbased at least in part on the current mirror scan angle.

In a first aspect of the first example method, the first example methodfurther comprises detecting one or more second portions of the lightthat are reflected from a cornea of the eye by the one or morerespective photodetectors. In accordance with the first aspect,generating the one or more analog signals comprises generating the oneor more analog signals by the one or more respective photodetectorsfurther based at least in part on the one or more respective detectedsecond portions of the light. In further accordance with the firstaspect, the one or more analog signals include one or more respectiveanalog currents. In further accordance with the first aspect, the firstexample method further comprises converting the one or more analogcurrents to one or more respective voltages; comparing the one or morevoltages to a reference voltage; providing one or more digital statesbased at least in part on one or more respective differences between thereference voltage and the one or more respective voltages; and providinga time value when a digital state, which is included among the one ormore digital states, triggers an interrupt handler. In furtheraccordance with the first aspect, the time value indicates a time atwhich a glint is detected by a photodetector.

In a second aspect of the first example method, the first example methodcomprises determining a region of interest in the region across whichthe light is scanned based at least in part on a grayscale imagereconstruction of the region. In accordance with the second aspect, theregion of interest includes the iris of the eye and is smaller than theregion across which the light is scanned. In further accordance with thesecond aspect, the first example method comprises stopping the scanningof the first light from the first laser light source across the firstportion of the region and beginning the scanning of the second lightfrom the second laser light source across the second portion of theregion based at least in part on a scan of the first light traversingthe region of interest and reaching an outer boundary of the region ofinterest. The second aspect of the first example method may beimplemented in combination with the first aspect of the first examplemethod, though the example embodiments are not limited in this respect.

In a third aspect of the first example method, scanning the light fromthe plurality of laser light sources comprises scanning at least aportion of the light from a first subset of the plurality of laser lightsources that is included in a first semiconductor chip. In accordancewith the third aspect, scanning the light from the plurality of laserlight sources comprises scanning at least a portion of the light from asecond subset of the plurality of laser light sources that is includedin a second semiconductor chip. The third aspect of the first examplemethod may be implemented in combination with the first and/or secondaspect of the first example method, though the example embodiments arenot limited in this respect.

In an example of the third aspect, scanning at least a portion of thelight from the first subset of the plurality of laser light sourcescomprises scanning at least a portion of the light from a firstplurality of laser light sources that is included in the first subset inthe first semiconductor chip. In accordance with this example, scanningat least a portion of the light from the second subset of the pluralityof laser light sources comprises scanning at least a portion of thelight from a second plurality of laser light sources that is included inthe second subset in the second semiconductor chip.

In a fourth aspect of the first example method, scanning the light fromthe plurality of laser light sources comprises scanning the light fromthe plurality of laser light sources that are included in a singlesemiconductor chip. The fourth aspect of the first example method may beimplemented in combination with the first and/or second aspect of thefirst example method, though the example embodiments are not limited inthis respect.

In a fifth aspect of the first example method, the first example methodfurther comprises generating a plurality of drive signals by a pluralityof respective drivers, the plurality of drive signals configured todrive the plurality of respective laser light sources. The fifth aspectof the first example method may be implemented in combination with thefirst, second, third, and/or fourth aspect of the first example method,though the example embodiments are not limited in this respect.

In a sixth aspect of the first example method, the first example methodfurther comprises generating a plurality of drive signals correspondingto a plurality of respective consecutive time periods by a driver. Inaccordance with this sixth aspect, the plurality of drive signals isconfigured to drive the plurality of respective laser light sources. Infurther accordance with the sixth aspect, the first example methodfurther comprises sequentially routing the plurality of drive signals tothe respective laser light sources during the plurality of respectiveconsecutive time periods by a multiplexer that is coupled to the driver.The sixth aspect of the first example method may be implemented incombination with the first, second, third, and/or fourth aspect of thefirst example method, though the example embodiments are not limited inthis respect.

In a seventh aspect of the first example method, a spacing betweenadjacent laser light sources in the plurality of laser light sources isat least 0.1 millimeters. The seventh aspect of the first example methodmay be implemented in combination with the first, second, third, fourth,fifth, and/or sixth aspect of the first example method, though theexample embodiments are not limited in this respect.

In an eighth aspect of the first example method, the first examplemethod further comprises modifying a plurality of drive currents thatare used to drive the plurality of respective laser light sources usinga plurality of respective compensation schemes, each compensation schemeconfigured to provide substantially uniform illumination intensityacross the region for the respective laser light source by compensatingfor illumination intensity variations associated with a trajectory overwhich the light from the respective laser light source is scanned. Theeighth aspect of the first example method may be implemented incombination with the first, second, third, fourth, fifth, sixth, and/orseventh aspect of the first example method, though the exampleembodiments are not limited in this respect.

In a ninth aspect of the first example method, the first example methodfurther comprises scanning visible light from a plurality ofvisible-light laser groupings, which are placed proximate the pluralityof respective laser light sources, across the region as the light fromthe plurality of laser light sources is scanned across the region. Inaccordance with the ninth aspect, each visible-light laser groupingincludes a red laser, a green laser, and a blue laser. The ninth aspectof the first example method may be implemented in combination with thefirst, second, third, fourth, fifth, sixth, seventh, and/or eighthaspect of the first example method, though the example embodiments arenot limited in this respect.

In a second example method light from a plurality of laser lightsources, including at least a first laser light source and a secondlaser light source, is scanned across a region that includes a cornea ofa user. The scanning comprises scanning first light from the first laserlight source across a first portion of the region during a first periodof time and scanning second light from the second laser light sourceacross a second portion of the region, which at least partially overlapsthe first portion of the region, during a second period of time that isdifferent from the first period of time. One or more portions of thelight that are reflected from the cornea of the user at one or morerespective corresponding angles are detected by one or more respectivephotodetectors. One or more currents are generated by the one or morerespective photodetectors based at least in part on the one or morerespective detected portions of the light. The one or more currents thatare generated by the one or more respective photodetectors are convertedto one or more respective voltages. The one or more voltages arecompared to a reference voltage. One or more digital states are providedbased at least in part on one or more respective differences between thereference voltage and the one or more respective voltages. A time valueis provided when a digital state, which is included among the one ormore digital states, triggers an interrupt handler. The time valueindicates a time at which a glint is detected by a photodetector.

In a first aspect of the second example method, the second examplemethod comprises determining a region of interest in the region acrosswhich the light is scanned based at least in part on a glint that isdetected by a photodetector. In accordance with the first aspect, theregion of interest includes the cornea of the user and is smaller thanthe region across which the light is scanned. In further accordance withthe first aspect, the second example method comprises stopping thescanning of the first light from the first laser light source across thefirst portion of the region and beginning the scanning of the secondlight from the second laser light source across the second portion ofthe region based at least in part on a scan of the first lighttraversing the region of interest and reaching an outer boundary of theregion of interest.

In a second aspect of the second example method, scanning the light fromthe plurality of laser light sources comprises scanning at least aportion of the light from a first subset of the plurality of laser lightsources that is included in a first semiconductor chip and scanning atleast a portion of the light from a second subset of the plurality oflaser light sources that is included in a second semiconductor chip. Thesecond aspect of the second example method may be implemented incombination with the first aspect of the second example method, thoughthe example embodiments are not limited in this respect.

In an example of the second aspect, scanning at least a portion of thelight from the first subset of the plurality of laser light sourcescomprises scanning at least a portion of the light from a firstplurality of laser light sources that is included in the first subset inthe first semiconductor chip. In accordance with this example, scanningat least a portion of the light from the second subset of the pluralityof laser light sources comprises scanning at least a portion of thelight from a second plurality of laser light sources that is included inthe second subset in the second semiconductor chip.

In a third aspect of the second example method, scanning the light fromthe plurality of laser light sources comprises scanning the light fromthe plurality of laser light sources that are included in a singlesemiconductor chip. The third aspect of the second example method may beimplemented in combination with the first aspect of the second examplemethod, though the example embodiments are not limited in this respect.

In a fourth aspect of the second example method, the second examplemethod further comprises generating a plurality of drive signals by aplurality of respective drivers. In accordance with the fourth aspect,the plurality of drive signals is configured to drive the plurality ofrespective laser light sources. The fourth aspect of the second examplemethod may be implemented in combination with the first, second, and/orthird aspect of the second example method, though the exampleembodiments are not limited in this respect.

In a fifth aspect of the second example method, the second examplemethod further comprises generating a plurality of drive signalscorresponding to a plurality of respective consecutive time periods by adriver. In accordance with the fifth aspect, the plurality of drivesignals is configured to drive the plurality of respective laser lightsources. In further accordance with the fifth aspect, the second examplemethod further comprises sequentially routing the plurality of drivesignals to the respective laser light sources during the plurality ofrespective consecutive time periods by a multiplexer that is coupled tothe driver. The fifth aspect of the second example method may beimplemented in combination with the first, second, and/or third aspectof the second example method, though the example embodiments are notlimited in this respect.

In a sixth aspect of the second example method, a spacing betweenadjacent laser light sources in the plurality of laser light sources isat least 0.1 millimeters. The sixth aspect of the second example methodmay be implemented in combination with the first, second, third, fourth,and/or fifth aspect of the second example method, though the exampleembodiments are not limited in this respect.

In a seventh aspect of the second example method, the second examplemethod further comprises modifying a plurality of drive currents thatare used to drive the plurality of respective laser light sources usinga plurality of respective compensation schemes. In accordance with theseventh aspect, each compensation scheme is configured to providesubstantially uniform illumination intensity across the region for therespective laser light source by compensating for illumination intensityvariations associated with a trajectory over which the light from therespective laser light source is scanned. The seventh aspect of thesecond example method may be implemented in combination with the first,second, third, fourth, fifth, and/or sixth aspect of the second examplemethod, though the example embodiments are not limited in this respect.

In an eighth aspect of the second example method, the second examplemethod further comprises scanning visible light from a plurality ofvisible-light laser groupings, which are placed proximate the pluralityof respective laser light sources, across the region as the light fromthe plurality of laser light sources is scanned across the region. Inaccordance with the eighth aspect, each visible-light laser groupingincludes a red laser, a green laser, and a blue laser. The eighth aspectof the second example method may be implemented in combination with thefirst, second, third, fourth, fifth, sixth, and/or seventh aspect of thesecond example method, though the example embodiments are not limited inthis respect.

A first example computer program product comprises a computer-readablestorage medium having instructions recorded thereon for enabling aprocessor-based system to perform operations. The operations comprisecause light from a plurality of laser light sources, including at leasta first laser light source and a second laser light source, to bescanned across a region that includes an eye of a user, comprising causefirst light from the first laser light source to be scanned across afirst portion of the region during a first period of time and causesecond light from the second laser light source to be scanned across asecond portion of the region, which at least partially overlaps thefirst portion of the region, during a second period of time that isdifferent from the first period of time. The operations further comprisecalculate a current mirror scan angle of a scanning mirror that is usedto scan the light from the plurality of laser light sources across theregion. The operations further comprise cause a digital signal, which isconverted from a sum of one or more analog signals that are generated byone or more respective photodetectors based at least in part on one ormore respective portions of the light that are reflected from an iris ofthe eye, to be provided into a pixel of a frame buffer based at least inpart on the current mirror scan angle.

A second example computer program product comprises a computer-readablestorage medium having instructions recorded thereon for enabling aprocessor-based system to perform operations. The operations comprisecause light from a plurality of laser light sources, including at leasta first laser light source and a second laser light source, to bescanned across a region that includes a cornea of a user, comprisingcause first light from the first laser light source to be scanned acrossa first portion of the region during a first period of time and causesecond light from the second laser light source to be scanned across asecond portion of the region, which at least partially overlaps thefirst portion of the region, during a second period of time that isdifferent from the first period of time. The operations further comprisecause one or more voltages, which are converted from one or morerespective currents that are generated by one or more respectivephotodetectors based at least in part on one or more respective portionsof the light that are reflected from the cornea of the user at one ormore respective corresponding angles, to be compared to a referencevoltage. The operations further comprise provide one or more digitalstates based at least in part on one or more respective differencesbetween the reference voltage and the one or more respective voltages.The operations further comprise provide a time value when a digitalstate, which is included among the one or more digital states, triggersan interrupt handler. The time value indicates a time at which a glintis detected by a photodetector.

IV. Example Computer System

FIG. 13 depicts an example computer 1300 in which embodiments may beimplemented. The multi-laser scanning assembly 700, the pipelines 800,and/or the pipelines 900 may be implemented using computer 1300,including one or more features of computer 1300 and/or alternativefeatures. Computer 1300 may be a general-purpose computing device in theform of a conventional personal computer, a mobile computer, or aworkstation, for example, or computer 1300 may be a special purposecomputing device. For instance, computer 1300 may be a desktop computer,a laptop computer, a tablet computer, a wearable computer such as asmart watch or a head-mounted computer, a personal digital assistant, acellular telephone, an Internet of things (IoT) device, or the like. Thedescription of computer 1300 provided herein is provided for purposes ofillustration, and is not intended to be limiting. Embodiments may beimplemented in further types of computer systems, as would be known topersons skilled in the relevant art(s).

As shown in FIG. 13, computer 1300 includes a processing unit 1302, asystem memory 1304, and a bus 1306 that couples various systemcomponents including system memory 1304 to processing unit 1302. Bus1306 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. System memory 1304 includes read onlymemory (ROM) 1308 and random access memory (RAM) 1310. A basicinput/output system 1312 (BIOS) is stored in ROM 1308.

Computer 1300 also has one or more of the following drives: a hard diskdrive 1314 for reading from and writing to a hard disk, a magnetic diskdrive 1316 for reading from or writing to a removable magnetic disk1318, and an optical disk drive 1320 for reading from or writing to aremovable optical disk 1322 such as a CD ROM, DVD ROM, or other opticalmedia. Hard disk drive 1314, magnetic disk drive 1316, and optical diskdrive 1320 are connected to bus 1306 by a hard disk drive interface1324, a magnetic disk drive interface 1326, and an optical driveinterface 1328, respectively. The drives and their associatedcomputer-readable storage media provide nonvolatile storage ofcomputer-readable instructions, data structures, program modules andother data for the computer. Although a hard disk, a removable magneticdisk and a removable optical disk are described, other types ofcomputer-readable storage media can be used to store data, such as flashmemory cards, digital video disks, random access memories (RAMs), readonly memories (ROM), and the like.

A number of program modules may be stored on the hard disk, magneticdisk, optical disk, ROM, or RAM. These programs include an operatingsystem 1330, one or more application programs 1332, other programmodules 1334, and program data 1336. Application programs 1332 orprogram modules 1334 may include, for example, computer program logicfor implementing any one or more of the intensity correction logic 704,switch 708, sequential scan control logic 712, MEMS trajectorycalculator 818, gaze direction logic 828, position logic 916, gammacorrection logic 924, flowchart 1000 (including any step of flowchart1000), flowchart 1100 (including any step of flowchart 1100), and/orflowchart 1200 (including any step of flowchart 1200), as describedherein.

A user may enter commands and information into the computer 1300 throughinput devices such as keyboard 1338 and pointing device 1340. Otherinput devices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, touch screen, camera, accelerometer, gyroscope,or the like. These and other input devices are often connected to theprocessing unit 1302 through a serial port interface 1342 that iscoupled to bus 1306, but may be connected by other interfaces, such as aparallel port, game port, or a universal serial bus (USB).

A display device 1344 (e.g., a monitor) is also connected to bus 1306via an interface, such as a video adapter 1346. In addition to displaydevice 1344, computer 1300 may include other peripheral output devices(not shown) such as speakers and printers.

Computer 1300 is connected to a network 1348 (e.g., the Internet)through a network interface or adapter 1350, a modem 1352, or othermeans for establishing communications over the network. Modem 1352,which may be internal or external, is connected to bus 1306 via serialport interface 1342.

As used herein, the terms “computer program medium” and“computer-readable storage medium” are used to generally refer to media(e.g., non-transitory media) such as the hard disk associated with harddisk drive 1314, removable magnetic disk 1318, removable optical disk1322, as well as other media such as flash memory cards, digital videodisks, random access memories (RAMs), read only memories (ROM), and thelike. Such computer-readable storage media are distinguished from andnon-overlapping with communication media (do not include communicationmedia). Communication media embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wireless media such asacoustic, RF, infrared and other wireless media, as well as wired media.Example embodiments are also directed to such communication media.

As noted above, computer programs and modules (including applicationprograms 1332 and other program modules 1334) may be stored on the harddisk, magnetic disk, optical disk, ROM, or RAM. Such computer programsmay also be received via network interface 1350 or serial port interface1342. Such computer programs, when executed or loaded by an application,enable computer 1300 to implement features of embodiments discussedherein. Accordingly, such computer programs represent controllers of thecomputer 1300.

Example embodiments are also directed to computer program productscomprising software (e.g., computer-readable instructions) stored on anycomputer-useable medium. Such software, when executed in one or moredata processing devices, causes data processing device(s) to operate asdescribed herein. Embodiments may employ any computer-useable orcomputer-readable medium, known now or in the future. Examples ofcomputer-readable mediums include, but are not limited to storagedevices such as RAM, hard drives, floppy disks, CD ROMs, DVD ROMs, zipdisks, tapes, magnetic storage devices, optical storage devices,MEMS-based storage devices, nanotechnology-based storage devices, andthe like.

It will be recognized that the disclosed technologies are not limited toany particular computer or type of hardware. Certain details of suitablecomputers and hardware are well known and need not be set forth indetail in this disclosure.

V. Conclusion

Although the subject matter has been described in language specific tostructural features and/or acts, it is to be understood that the subjectmatter defined in the appended claims is not necessarily limited to thespecific features or acts described above. Rather, the specific featuresand acts described above are disclosed as examples of implementing theclaims, and other equivalent features and acts are intended to be withinthe scope of the claims.

What is claimed is:
 1. A multi-laser eye tracking system comprising: aplurality of laser light sources that includes at least a first laserlight source and a second laser light source; scanning optics configuredto scan light from the plurality of laser light sources across a regionthat includes an eye of a user, the scanning optics configured to scanfirst light from the first laser light source across a first portion ofthe region during a first period of time, the scanning optics configuredto scan second light from the second laser light source across a secondportion of the region during a second period of time that is differentfrom the first period of time, the first portion of the region and thesecond portion of the region at least partially overlapping; one or morephotodetectors configured to generate one or more respective analogsignals, each photodetector configured to detect a portion of the lightthat is reflected from an iris of the eye and configured to generate therespective analog signal based at least in part on the detected portionof the light; an analog-to-digital converter (ADC) configured to converta sum of the one or more analog signals that are generated by the one ormore respective photodetectors to a digital signal; and one or moreprocessors configured to: calculate a current mirror scan angle of ascanning mirror of the scanning optics; and provide the digital signalinto a pixel of a frame buffer based at least in part on the currentmirror scan angle.
 2. The multi-laser eye tracking system of claim 1,wherein each photodetector is configured to detect a second portion ofthe light that is reflected from a cornea of the eye and configured togenerate the respective analog signal further based at least in part onthe detected second portion of the light; wherein the one or more analogsignals include one or more respective analog currents; and wherein themulti-laser eye tracking system further comprises: one or morecurrent-to-voltage converters configured to convert the one or moreanalog currents that are generated by the one or more respectivephotodetectors to one or more respective voltages; one or morecomparators configured to compare the one or more voltages to areference voltage and configured to provide one or more digital statesbased at least in part on one or more respective differences between thereference voltage and the one or more respective voltages; and aninterrupt handler configured to provide a time value when a digitalstate, which is included among the one or more digital states providedby the one or more comparators, triggers the interrupt handler, the timevalue indicating a time at which a glint is detected by a photodetector.3. The multi-laser eye tracking system of claim 1, wherein the one ormore processors are further configured to: determine a region ofinterest in the region across which the light is scanned based at leastin part on a grayscale image reconstruction of the region, the region ofinterest including the iris of the eye and being smaller than the regionacross which the light is scanned; and control the scanning optics tostop scanning the first light from the first laser light source acrossthe first portion of the region and to begin scanning the second lightfrom the second laser light source across the second portion of theregion based at least in part on a scan of the first light traversingthe region of interest and reaching an outer boundary of the region ofinterest.
 4. The multi-laser eye tracking system of claim 1, comprisinga plurality of semiconductor chips that includes at least a firstsemiconductor chip and a second semiconductor chip, the firstsemiconductor chip including a first subset of the plurality of laserlight sources, the second semiconductor chip including a second subsetof the plurality of laser light sources.
 5. The multi-laser eye trackingsystem of claim 4, wherein the first subset includes a first pluralityof laser light sources; and wherein the second subset includes a secondplurality of laser light sources.
 6. The multi-laser eye tracking systemof claim 1, wherein the plurality of laser light sources are included ina single semiconductor chip.
 7. The multi-laser eye tracking system ofclaim 1, further comprising: a plurality of drivers configured togenerate a plurality of respective drive signals, the plurality of drivesignals configured to drive the plurality of respective laser lightsources.
 8. The multi-laser eye tracking system of claim 1, furthercomprising: a driver configured to generate a plurality of drive signalscorresponding to a plurality of respective consecutive time periods, theplurality of drive signals configured to drive the plurality ofrespective laser light sources; and a multiplexer coupled to the driver,the multiplexer configured to sequentially route the plurality of drivesignals to the respective laser light sources during the plurality ofrespective consecutive time periods.
 9. The multi-laser eye trackingsystem of claim 1, wherein a spacing between adjacent laser lightsources in the plurality of laser light sources is at least 0.1millimeters.
 10. The multi-laser eye tracking system of claim 1, whereinthe one or more processors are configured to modify a plurality of drivecurrents that are used to drive the plurality of respective laser lightsources using a plurality of respective compensation schemes, eachcompensation scheme configured to provide substantially uniformillumination intensity across the region for the respective laser lightsource by compensating for illumination intensity variations associatedwith a trajectory over which the light from the respective laser lightsource is scanned.
 11. The multi-laser eye tracking system of claim 1,wherein the plurality of laser light sources are placed proximate aplurality of respective visible-light laser groupings, eachvisible-light laser grouping including a red laser, a green laser, and ablue laser; and wherein the scanning optics are configured to cause anentrance pupil associated with the plurality of visible-light lasergroupings to be replicated over the region as the light from theplurality of laser light sources is scanned across the region.
 12. Amulti-laser eye tracking system comprising: a plurality of laser lightsources that includes at least a first laser light source and a secondlaser light source; scanning optics configured to scan light from theplurality of laser light sources across a region that includes a corneaof a user, the scanning optics configured to scan first light from thefirst laser light source across a first portion of the region during afirst period of time, the scanning optics configured to scan secondlight from the second laser light source across a second portion of theregion during a second period of time that is different from the firstperiod of time, the first portion of the region and the second portionof the region at least partially overlapping; one or more photodetectorsconfigured to generate one or more respective currents, eachphotodetector configured to detect a portion of the light that isreflected from the cornea of the user at a corresponding angle andconfigured to generate the respective current based at least in part onthe detected portion of the light; one or more current-to-voltageconverters configured to convert the one or more currents that aregenerated by the one or more respective photodetectors to one or morerespective voltages; one or more comparators configured to compare theone or more voltages to a reference voltage and configured to provideone or more digital states based at least in part on one or morerespective differences between the reference voltage and the one or morerespective voltages; and an interrupt handler configured to provide atime value when a digital state, which is included among the one or moredigital states provided by the one or more comparators, triggers theinterrupt handler, the time value indicating a time at which a glint isdetected by a photodetector.
 13. The multi-laser eye tracking system ofclaim 12, further comprising one or more processors configured to:determine a region of interest in the region across which the light isscanned based at least in part on a glint that is detected by aphotodetector, the region of interest including the cornea of the userand being smaller than the region across which the light is scanned; andcontrol the scanning optics to stop scanning the first light from thefirst laser light source across the first portion of the region and tobegin scanning the second light from the second laser light sourceacross the second portion of the region based at least in part on a scanof the first light traversing the region of interest and reaching anouter boundary of the region of interest.
 14. The multi-laser eyetracking system of claim 12, comprising a plurality of semiconductorchips that includes at least a first semiconductor chip and a secondsemiconductor chip, the first semiconductor chip including a firstsubset of the plurality of laser light sources, the second semiconductorchip including a second subset of the plurality of laser light sources.15. The multi-laser eye tracking system of claim 12, wherein theplurality of laser light sources are included in a single semiconductorchip.
 16. The multi-laser eye tracking system of claim 12, furthercomprising: a plurality of drivers configured to generate a plurality ofrespective drive signals, the plurality of drive signals configured todrive the plurality of respective laser light sources.
 17. Themulti-laser eye tracking system of claim 12, further comprising: adriver configured to generate a plurality of drive signals correspondingto a plurality of respective consecutive time periods, the plurality ofdrive signals configured to drive the plurality of respective laserlight sources; and a multiplexer coupled to the driver, the multiplexerconfigured to sequentially route the plurality of drive signals to therespective laser light sources during the plurality of respectiveconsecutive time periods.
 18. The multi-laser eye tracking system ofclaim 12, further comprising: one or more processors configured tomodify a plurality of drive currents that are used to drive theplurality of respective laser light sources using a plurality ofrespective compensation schemes, each compensation scheme configured toprovide substantially uniform illumination intensity across the regionfor the respective laser light source by compensating for illuminationintensity variations associated with a trajectory over which the lightfrom the respective laser light source is scanned.
 19. The multi-lasereye tracking system of claim 12, wherein the plurality of laser lightsources are placed proximate a plurality of respective visible-lightlaser groupings, each visible-light laser grouping including a redlaser, a green laser, and a blue laser; and wherein the scanning opticsare configured to cause an entrance pupil associated with the pluralityof visible-light laser groupings to be replicated over the region as thelight from the plurality of laser light sources is scanned across theregion.
 20. A method comprising: scanning light from a plurality oflaser light sources, including at least a first laser light source and asecond laser light source, across a region that includes an eye of auser, the scanning comprising: scanning first light from the first laserlight source across a first portion of the region during a first periodof time; and scanning second light from the second laser light sourceacross a second portion of the region, which at least partially overlapsthe first portion of the region, during a second period of time that isdifferent from the first period of time; detecting one or more portionsof the light that are reflected from an iris of the eye by one or morerespective photodetectors; generating one or more analog signals by theone or more respective photodetectors based at least in part on the oneor more respective detected portions of the light; converting a sum ofthe one or more analog signals that are generated by the one or morerespective photodetectors to a digital signal; calculating a currentmirror scan angle of a scanning mirror that is used to scan the lightfrom the plurality of laser light sources across the region; and storingthe digital signal in a pixel of a frame buffer based at least in parton the current mirror scan angle.